package com.springCloud.template;

/**
 * @ClassName Beverage
 * @Author 1628994918qq.com
 * @Date 2023/3/31 18:58
 * 写一个模板模式   煮咖啡和泡茶
 *
 * 模板模式的核心思想是，将一些通用的算法步骤定义在一个抽象类中，并让子类实现其中一些步骤，从而形成一个完整的算法。
 * 通过这种方式，可以使算法的框架和实现相分离，使得算法更加灵活和可扩展。
 */
public abstract class Beverage {
    public final void prepareBeverage(){
        boilWater();
        brew();
        pourInCup();
        addCondiments();
    }

    protected void boilWater(){
        System.out.println("烧开水");
    }

    /**
     * 冲，泡
     */
    protected abstract void brew();

    protected void pourInCup(){
        System.out.println("将饮料倒入杯中");
    }

    /**
     * 添加
     */
    protected abstract void addCondiments();
}
